public ActionResult <OrganizationDetailsViewModel> Create(OrganizationDetailsViewModel model) { if (ModelState.IsValid) { var organization = this._mapper.Map <OrganizationDetailsViewModel, Organization>(model); this._organizationRepository.Create(organization); var mappedOrganization = _mapper.Map <Organization, OrganizationDetailsViewModel>(organization); return(CreatedAtAction(nameof(GetById), new { id = organization.Id }, organization)); } return(BadRequest()); }
public ActionResult Details(int id) { try { var organization = _db.Organizations.Find(id); var syncedInfo = new OrganizationSyncedInfo(); if (organization.OrganizationSyncedInfo != null) { syncedInfo = _db.OrganizationSyncedInfos.First(x => x.MerId == id); } var leadSalesFunnelChecker = new LeadSalesFunnelChecker(id); var model = new OrganizationDetailsViewModel() { Organization = organization, OrganizationDetails = _db.OrganizationDetails.First(od => od.MerId == id), MerDeliveryDetails = _db.MerDeliveryDetails.First(mdd => mdd.MerId == id), OrganizationSyncedInfo = syncedInfo, OrganizationBusinessUnits = _db.Organizations.Where(o => o.VAT == organization.VAT && o.SubjectBusinessUnit != ""), Contacts = _db.Contacts.Where(c => c.OrganizationId == id), CampaignsFor = _db.Campaigns.Where(c => c.RelatedCompanyId == id), AcquireEmails = _db.AcquireEmails.Where(a => a.RelatedOrganizationId == id), Educations = _db.Educations.Where(e => e.RelatedOrganizationId == id), Opportunities = _db.Opportunities.Where(op => op.RelatedOrganizationId == id), OpportunitiesCount = _db.Opportunities.Count(op => op.RelatedOrganizationId == id), Leads = _db.Leads.Where(l => l.RelatedOrganizationId == id), LeadsCount = _db.Leads.Count(l => l.RelatedOrganizationId == id), ClickVoxQuoteRequests = _db.ClickVoxQuoteRequests.Where(q => q.RelatedOrganizationId == id).OrderByDescending(q => q.InsertDate), Quotes = _db.Quotes.Where(q => q.RelatedOrganizationId == id), ContractDrafts = _db.ContractDrafts.Where(d => d.RelatedOrganizationId == id), Contracts = _db.Contracts.Where(c => c.RelatedOrganizationId == id).OrderByDescending(c => c.MerId), TicketsAsReceiver = _db.DeliveryTicketModels.Where(t => t.ReceiverId == id).OrderByDescending(t => t.SentDate), TicketsAsReceiverCount = _db.DeliveryTicketModels.Where(t => t.ReceiverId == id).OrderByDescending(t => t.SentDate).Count(), TicketsAsSender = _db.DeliveryTicketModels.Where(t => t.SenderId == id).OrderByDescending(t => t.SentDate), TicketsAsSenderCount = _db.DeliveryTicketModels.Where(t => t.SenderId == id).OrderByDescending(t => t.SentDate).Count(), Attributes = _db.OrganizationAttributes.Where(a => a.OrganizationId == id).OrderBy(a => a.AttributeClass), Activities = _db.ActivityLogs.Where(al => al.Module == ActivityLog.ModuleEnum.Organizations && al.ReferenceId == id).OrderByDescending(al => al.InsertDate), ActivitiesCount = _db.ActivityLogs.Count(al => al.Module == ActivityLog.ModuleEnum.Organizations && al.ReferenceId == id), LeadSalesFunnelChecker = leadSalesFunnelChecker }; return(View(model)); } catch (FormatException) { return(View("ErrorWrongInputFormat")); } }
public ActionResult <OrganizationDetailsViewModel> Update(OrganizationDetailsViewModel model, int id) { if (ModelState.IsValid && model.Id == id) { var updatedOrganization = this._organizationRepository.GetItemById(model.Id, null); this._mapper.Map(model, updatedOrganization); this._organizationRepository.Update(updatedOrganization); var mapUpdatedOrganization = this._mapper.Map <Organization, OrganizationDetailsViewModel>(updatedOrganization); return(Ok(mapUpdatedOrganization)); } return(BadRequest(ModelState)); }
public ActionResult Details(int id) { OrganizationDetails details = _organizationRepository.GetOrganizationDetails(UserContext.User.Id, UserContext.User.OrganizationId, id); if (details.Detail == null) { return(NotFoundResult()); } OrganizationDetailsViewModel viewModel = Mapper.Map <OrganizationDetailsViewModel>(details); InitDetailsViewModel(viewModel, details); return(View(Mvc.View.Organization.Details, viewModel)); }
public ActionResult Details(int id) { var userId = User.Identity.GetUserId(); var viewModel = new OrganizationDetailsViewModel() { Organization = _context.Organizations.Include(o => o.Jobs).FirstOrDefault(o => o.Id == id), Memberships = _context.Memberships.Where(m => m.OrganizationId == id).Include(m => m.Member).ToList() }; if (viewModel.Organization.OwnerId == userId) { viewModel.ShowActions = true; } if (_context.Memberships.FirstOrDefault(m => m.MemberId == userId && m.OrganizationId == id) == null) { return(new HttpUnauthorizedResult()); } return(View(viewModel)); }
public ActionResult Edit(int id) { OrganizationDetails details = _organizationRepository.GetOrganizationDetails(UserContext.User.Id, UserContext.User.OrganizationId, id); if (details.Detail == null) { return(NotFoundResult()); } OrganizationDetailsViewModel viewModel = Mapper.Map <OrganizationDetailsViewModel>(details); InitDetailsViewModel(viewModel, details); viewModel.HeadIds = viewModel.Heads.Select(m => m.Key).ToList(); viewModel.DeputyIds = viewModel.Deputies.Select(m => m.Key).ToList(); viewModel.MainJudgeIds = viewModel.MainJudges.Select(m => m.Key).ToList(); viewModel.JudgeIds = viewModel.Judges.Select(m => m.Key).ToList(); viewModel.SecretaryIds = viewModel.Secretaries.Select(m => m.Key).ToList(); viewModel.CashierIds = viewModel.Cashiers.Select(m => m.Key).ToList(); return(View(Mvc.View.Organization.Edit, viewModel)); }
private void InitDetailsViewModel(OrganizationDetailsViewModel viewModel, OrganizationDetails details) { InitBaseDetailViewModel(details.Detail, viewModel.Detail); InitBaseDetailEntityStateChange(viewModel.Detail); ViewData[Mvc.ViewData.Controller] = Mvc.Controller.Organization.Name; viewModel.Heads = details .OrganizationMemberTypes .Where(om => om.OrganizationId == details.Detail.Id && om.MemberTypeId == Dom.MemberType.Head) .ToDictionary(t => t.MemberId, t => Format.FormattedInitials(t.LastName, t.FirstName, t.MiddleName)); viewModel.Deputies = details .OrganizationMemberTypes .Where(om => om.OrganizationId == details.Detail.Id && om.MemberTypeId == Dom.MemberType.Deputy) .ToDictionary(t => t.MemberId, t => Format.FormattedInitials(t.LastName, t.FirstName, t.MiddleName)); viewModel.MainJudges = details .OrganizationMemberTypes .Where(om => om.OrganizationId == details.Detail.Id && om.MemberTypeId == Dom.MemberType.MainJudge) .ToDictionary(t => t.MemberId, t => Format.FormattedInitials(t.LastName, t.FirstName, t.MiddleName)); viewModel.Judges = details .OrganizationMemberTypes .Where(om => om.OrganizationId == details.Detail.Id && om.MemberTypeId == Dom.MemberType.Judge) .ToDictionary(t => t.MemberId, t => Format.FormattedInitials(t.LastName, t.FirstName, t.MiddleName)); viewModel.Secretaries = details .OrganizationMemberTypes .Where(om => om.OrganizationId == details.Detail.Id && om.MemberTypeId == Dom.MemberType.Secretary) .ToDictionary(t => t.MemberId, t => Format.FormattedInitials(t.LastName, t.FirstName, t.MiddleName)); viewModel.Cashiers = details .OrganizationMemberTypes .Where(om => om.OrganizationId == details.Detail.Id && om.MemberTypeId == Dom.MemberType.Cashier) .ToDictionary(t => t.MemberId, t => Format.FormattedInitials(t.LastName, t.FirstName, t.MiddleName)); viewModel.HeadItems = Mapper.Map <ICollection <SelectListItem> >(details.Members); viewModel.DeputyItems = Mapper.Map <ICollection <SelectListItem> >(details.Members); viewModel.MainJudgeItems = Mapper.Map <ICollection <SelectListItem> >(details.Members); viewModel.JudgeItems = Mapper.Map <ICollection <SelectListItem> >(details.Members); viewModel.SecretaryItems = Mapper.Map <ICollection <SelectListItem> >(details.Members); viewModel.CashierItems = Mapper.Map <ICollection <SelectListItem> >(details.Members); }
public ActionResult Edit(OrganizationDetailsViewModel viewModel) { if (ModelState.IsValid) { var organization = _organizationRepository.Get <Organization>(viewModel.Detail.Id); organization.Name = viewModel.Detail.Name; organization.Description = viewModel.Detail.Description; organization.CreateDate = viewModel.Detail.CreateDate; if (!string.IsNullOrWhiteSpace(viewModel.Address?.FormattedAddress)) { if (organization.AddressId != null) { organization.Address.City = viewModel.Address.City; organization.Address.PostalCode = viewModel.Address.PostalCode; organization.Address.Street = viewModel.Address.Street; organization.Address.Number = viewModel.Address.Number; organization.Address.Latitude = double.Parse(viewModel.Address.Latitude.Replace(".", ",")); organization.Address.Longitude = double.Parse(viewModel.Address.Longitude.Replace(".", ",")); organization.Address.FormattedAddress = viewModel.Address.FormattedAddress; } else { organization.Address = new Address { CountryId = Dom.Country.Ukraine, City = viewModel.Address.City, PostalCode = viewModel.Address.PostalCode, Street = viewModel.Address.Street, Number = viewModel.Address.Number, Latitude = double.Parse(viewModel.Address.Latitude.Replace(".", ",")), Longitude = double.Parse(viewModel.Address.Longitude.Replace(".", ",")), FormattedAddress = viewModel.Address.FormattedAddress }; } } else { if (organization.AddressId != null) { _organizationRepository.Delete(organization.Address); organization.AddressId = null; } } if (!string.IsNullOrWhiteSpace(viewModel.Website?.Url)) { if (organization.WebsiteId != null) { organization.Website.Url = viewModel.Website.Url; } else { organization.Website = new Website { Url = viewModel.Website.Url, }; } } else { if (organization.WebsiteId != null) { _organizationRepository.Delete(organization.Website); organization.WebsiteId = null; } } if (organization.OrganizationMemberTypes != null) { organization.OrganizationMemberTypes.ToList().ForEach(x => _organizationRepository.Delete(x)); } else { organization.OrganizationMemberTypes = new List <OrganizationMemberType>(); } viewModel.HeadIds?.ForEach(m => organization.OrganizationMemberTypes.Add(new OrganizationMemberType { MemberId = m, MemberTypeId = Dom.MemberType.Head })); viewModel.DeputyIds?.ForEach(m => organization.OrganizationMemberTypes.Add(new OrganizationMemberType { MemberId = m, MemberTypeId = Dom.MemberType.Deputy })); viewModel.MainJudgeIds?.ForEach(m => organization.OrganizationMemberTypes.Add(new OrganizationMemberType { MemberId = m, MemberTypeId = Dom.MemberType.MainJudge })); viewModel.JudgeIds?.ForEach(m => organization.OrganizationMemberTypes.Add(new OrganizationMemberType { MemberId = m, MemberTypeId = Dom.MemberType.Judge })); viewModel.SecretaryIds?.ForEach(m => organization.OrganizationMemberTypes.Add(new OrganizationMemberType { MemberId = m, MemberTypeId = Dom.MemberType.Secretary })); viewModel.CashierIds?.ForEach(m => organization.OrganizationMemberTypes.Add(new OrganizationMemberType { MemberId = m, MemberTypeId = Dom.MemberType.Cashier })); _organizationRepository.UnitOfWork.SaveChanges(); return(RedirectToAction(Mvc.Controller.Organization.Details, Mvc.Controller.Organization.Name, new { id = viewModel.Detail.Id })); } OrganizationDetails details = _organizationRepository.GetOrganizationDetails(UserContext.User.Id, UserContext.User.OrganizationId, viewModel.Detail.Id); InitDetailsViewModel(viewModel, details); return(View(Mvc.View.Organization.Edit, viewModel)); }