Click here to Skip to main content
15,881,172 members
Home / Discussions / ASP.NET
   

ASP.NET

 
AnswerRe: ASP.Net MVC: When to use HttpGet and when to use HttpPost for action Pin
Richard Deeming20-Feb-20 0:23
mveRichard Deeming20-Feb-20 0:23 
GeneralRe: ASP.Net MVC: When to use HttpGet and when to use HttpPost for action Pin
Mou_kol21-Feb-20 22:40
Mou_kol21-Feb-20 22:40 
GeneralRe: ASP.Net MVC: When to use HttpGet and when to use HttpPost for action Pin
Bohdan Stupak23-Feb-20 0:19
professionalBohdan Stupak23-Feb-20 0:19 
GeneralRe: ASP.Net MVC: When to use HttpGet and when to use HttpPost for action Pin
Richard Deeming23-Feb-20 21:16
mveRichard Deeming23-Feb-20 21:16 
QuestionUpdating two related tables in asp.net core Pin
ElenaRez16-Feb-20 18:35
ElenaRez16-Feb-20 18:35 
I'm implementing asp.net core project. In my Controller class, in its Edit method, I wrote some code like below:

public async Task<IActionResult> Edit(int id, ApplicantViewModel applicant)
    {
        var formerApplicantType = await _context.Applicant
            .Include(a => a.ApplicantTypeNavigation)
            .FirstOrDefaultAsync(m => m.ApplicantId == id);

        if (id != applicant.applicantvm.ApplicantId)
        {
            return NotFound();
        }

        if (ModelState.IsValid)
        {
            try
            {
                if (applicant.applicantvm.ApplicantType == 1)
                {
                    var UpdQuery = from a in _context.Applicant
                                   join p in _context.PersonApplicant on a.ApplicantId
                                   equals p.ApplicantId
                                   where applicant.applicantvm.ApplicantId == a.ApplicantId && applicant.applicantvm.ApplicantType == a.ApplicantType
                                   select new { a, p };

                    if (formerApplicantType.ApplicantType == 2)
                    {
                        Debug.WriteLine("opposite applicantType");

                        var legalApplicantForDelete = await _context.LegalApplicant.FindAsync(id);
                        _context.LegalApplicant.Remove(legalApplicantForDelete);

                        //?????
                        var pa = new PersonApplicant()
                        {
                            BirthCertificateNo = applicant.personapplicantvm.BirthCertificateNo,
                            IssuePlace = applicant.personapplicantvm.IssuePlace,
                            NationalCode = applicant.personapplicantvm.NationalCode,
                            Username = applicant.personapplicantvm.Username,
                            Applicant = applicant.applicantvm
                        };
                        using (var context = new CSSDDashboardContext())
                        {
                            context.PersonApplicant.Add(pa);
                            context.SaveChanges();
                        }
                    }
                    else
                    {


                        //----------------------------------------------
                        foreach (var x in UpdQuery.ToList())
                        {
                            x.a.ApplicantType = applicant.applicantvm.ApplicantType;
                            x.a.Address = applicant.applicantvm.Address;
                            x.a.Description = applicant.applicantvm.Description;
                            x.a.Name = applicant.applicantvm.Name;
                            x.p.BirthCertificateNo = applicant.personapplicantvm.BirthCertificateNo;
                            x.p.NationalCode = applicant.personapplicantvm.NationalCode;
                            x.p.IssuePlace = applicant.personapplicantvm.IssuePlace;
                            x.p.Username = applicant.personapplicantvm.Username;

                        }
                    }

                await _context.SaveChangesAsync();

            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ApplicantExists(applicant.applicantvm.ApplicantId))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }
            return RedirectToAction(nameof(Index));
        }
        ViewData["ApplicantType"] = new SelectList(_context.EntityType, "Id", "Id", applicant.applicantvm.ApplicantType);
        return View(applicant);
    }


In my code I have 3 tables Applicant and PersonApplicant and LegalApplicant. Applicant has one to one relationship with LegalApplicant and PersonApplicant. Eachtime Applicant refers to one of them. They are connected with each other as the primary key {ApplicantID,ApplicantType} and if ApplicantType is 1, Applicant refers to PersonApplicant and if it is 2, Applicant refers to LegalApplicant. In the view, the user should choose from a selectlist about the type of applicant he wants to update. Now my problem is in updating those tables when user wants to change the ApplicantType. For instance, if the user change ApplicantType from LegalApplicant to PersonApplicant then the former record in Legal applicant should be deleted according what I did in the code and a new record should be inserted into PersonApplicant. For doing that I wrote like the above code, But after running the project, it shows me an error which is about not to accept the former applicant record exist and just refers to another table. In my methodology I can not delet the related record in Applicant and again insert a new one ther cause I need the former info about that record. I appreciate if anyone guide me how can I fix this.
QuestionBinding combox in gridview with selected value of another comboBox Pin
BikerMonkey14-Feb-20 9:01
professionalBikerMonkey14-Feb-20 9:01 
QuestionHow to get a field's value from a linq query Pin
ElenaRez12-Feb-20 3:09
ElenaRez12-Feb-20 3:09 
AnswerRe: How to get a field's value from a linq query Pin
Richard Deeming12-Feb-20 4:45
mveRichard Deeming12-Feb-20 4:45 
QuestionStill having some display problems Pin
samflex7-Feb-20 5:36
samflex7-Feb-20 5:36 
QuestionHow to set starting page or controller method of a web application when we are deploying the React or Angular or Ember applications Pin
simpledeveloper6-Feb-20 14:35
simpledeveloper6-Feb-20 14:35 
AnswerRe: How to set starting page or controller method of a web application when we are deploying the React or Angular or Ember applications Pin
jkirkerx7-Feb-20 10:01
professionaljkirkerx7-Feb-20 10:01 
GeneralRe: How to set starting page or controller method of a web application when we are deploying the React or Angular or Ember applications Pin
simpledeveloper7-Feb-20 12:50
simpledeveloper7-Feb-20 12:50 
QuestionHow do I solve InvalidCaseUserControl.Dispose(bool) no suitable method found to override Pin
Member 114033043-Feb-20 7:36
Member 114033043-Feb-20 7:36 
AnswerRe: How do I solve InvalidCaseUserControl.Dispose(bool) no suitable method found to override Pin
Richard Deeming3-Feb-20 7:46
mveRichard Deeming3-Feb-20 7:46 
GeneralRe: How do I solve InvalidCaseUserControl.Dispose(bool) no suitable method found to override Pin
Member 114033043-Feb-20 8:11
Member 114033043-Feb-20 8:11 
QuestionIn need of direction for project Pin
led3-Feb-20 7:31
led3-Feb-20 7:31 
AnswerRe: In need of direction for project Pin
phil.o3-Feb-20 23:14
professionalphil.o3-Feb-20 23:14 
GeneralRe: In need of direction for project Pin
led4-Feb-20 6:21
led4-Feb-20 6:21 
GeneralRe: In need of direction for project Pin
phil.o4-Feb-20 6:38
professionalphil.o4-Feb-20 6:38 
Question.net core Swagger code gen Pin
manoj62931-Jan-20 14:28
manoj62931-Jan-20 14:28 
QuestionIIS changing the IE11 document mode from 11 (Default) to 7 (Default) when browsing to a site Pin
Stephen Holdorf31-Jan-20 5:30
Stephen Holdorf31-Jan-20 5:30 
AnswerRe: IIS changing the IE11 document mode from 11 (Default) to 7 (Default) when browsing to a site Pin
Richard Deeming31-Jan-20 5:49
mveRichard Deeming31-Jan-20 5:49 
GeneralRe: IIS changing the IE11 document mode from 11 (Default) to 7 (Default) when browsing to a site Pin
Stephen Holdorf31-Jan-20 6:51
Stephen Holdorf31-Jan-20 6:51 
GeneralRe: IIS changing the IE11 document mode from 11 (Default) to 7 (Default) when browsing to a site Pin
Richard Deeming31-Jan-20 7:13
mveRichard Deeming31-Jan-20 7:13 
GeneralRe: IIS changing the IE11 document mode from 11 (Default) to 7 (Default) when browsing to a site Pin
Stephen Holdorf31-Jan-20 7:50
Stephen Holdorf31-Jan-20 7:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.