public static Common.Models.Activities.ActivityTask Create( Transaction t, Common.Models.Activities.ActivityTask model, Common.Models.Account.Users creator) { return(Create(model, creator, t.Connection, false)); }
public static Common.Models.Activities.ActivityTask Create( Common.Models.Activities.ActivityTask model, Common.Models.Account.Users creator, IDbConnection conn = null, bool closeConnection = true) { model.CreatedBy = model.ModifiedBy = creator; model.Created = model.Modified = DateTime.UtcNow; DBOs.Activities.ActivityTask dbo = Mapper.Map <DBOs.Activities.ActivityTask>(model); conn = DataHelper.OpenIfNeeded(conn); if (conn.Execute("INSERT INTO \"activity_task\" (\"type\", \"is_campaign_response\", \"subject\", \"body\", \"owner\", \"priority\", \"due\", \"state\", \"status_reason\", " + "\"duration\", \"utc_created\", \"utc_modified\", \"created_by_user_pid\", \"modified_by_user_pid\") " + "VALUES (@Type, @IsCampaignResponse, @Subject, @Body, @Owner, @Priority, @Due, @State, @StatusReason, @Duration, " + "@UtcCreated, @UtcModified, @CreatedByUserPId, @ModifiedByUserPId)", dbo) > 0) { model.Id = conn.Query <DBOs.Activities.ActivityTask>("SELECT currval(pg_get_serial_sequence('activity_base', 'id')) AS \"id\"").Single().Id; } DataHelper.Close(conn, closeConnection); return(model); }
public static Common.Models.Activities.ActivityTask Edit( Transaction t, Common.Models.Activities.ActivityTask model, Common.Models.Account.Users modifier) { return(Edit(model, modifier, t.Connection, false)); }
public ActionResult Details(long id) { ViewModels.Activities.ActivityTaskViewModel viewModel = new ViewModels.Activities.ActivityTaskViewModel(); using (IDbConnection conn = Data.Database.Instance.GetConnection()) { Common.Models.Activities.ActivityTask model = Data.Activities.ActivityTask.Get(id, conn, false); model.Owner = Data.Contacts.Contact.Get(model.Owner.Id.Value, conn, false); model.Priority = Data.Activities.ActivityPriority.Get(model.Priority.Id.Value, conn, false); model.StatusReason = Data.Activities.ActivityStatusReason.Get(model.StatusReason.Id.Value, conn, false); model.Type = Data.Activities.ActivityType.Get(model.Type.Id.Value, conn, false); viewModel = Mapper.Map <ViewModels.Activities.ActivityTaskViewModel>(model); viewModel.Owner = Mapper.Map <ViewModels.Contacts.ContactViewModel>(model.Owner); viewModel.Priority = Mapper.Map <ViewModels.Activities.ActivityPriorityViewModel>(model.Priority); viewModel.StatusReason = Mapper.Map <ViewModels.Activities.ActivityStatusReasonViewModel>(model.StatusReason); viewModel.Type = Mapper.Map <ViewModels.Activities.ActivityTypeViewModel>(model.Type); Common.Models.Activities.ActivityRegardingType regtype = Data.Activities.ActivityRegardingType.GetFromActivityId(model.Id.Value, conn, false); if (regtype.Title == "Lead") { Common.Models.Activities.ActivityRegardingLead ar = Data.Activities.ActivityRegardingLead.GetFromActivityId(model.Id.Value, conn, false); ar.Lead = Data.Leads.Lead.Get(ar.Lead.Id.Value, conn, false); ar.Lead.Contact = Data.Contacts.Contact.Get(ar.Lead.Contact.Id.Value, conn, false); viewModel.RegardingLead = Mapper.Map <ViewModels.Activities.ActivityRegardingLeadViewModel>(ar); viewModel.RegardingLead.Lead = Mapper.Map <ViewModels.Leads.LeadViewModel>(ar.Lead); viewModel.RegardingLead.Lead.Contact = Mapper.Map <ViewModels.Contacts.ContactViewModel>(ar.Lead.Contact); viewModel.RegardingLead.Type = Mapper.Map <ViewModels.Activities.ActivityRegardingTypeViewModel>(regtype); } else { Common.Models.Activities.ActivityRegardingOpportunity ao = Data.Activities.ActivityRegardingOpportunity.GetFromActivityId(model.Id.Value, conn, false); ao.Opportunity = Data.Opportunities.Opportunity.Get(ao.Opportunity.Id.Value, conn, false); ao.Opportunity.Account = Data.Contacts.Contact.Get(ao.Opportunity.Account.Id.Value, conn, false); viewModel.RegardingOpportunity = Mapper.Map <ViewModels.Activities.ActivityRegardingOpportunityViewModel>(ao); viewModel.RegardingOpportunity.Opportunity = Mapper.Map <ViewModels.Opportunities.OpportunityViewModel>(ao.Opportunity); viewModel.RegardingOpportunity.Opportunity.Account = Mapper.Map <ViewModels.Contacts.ContactViewModel>(ao.Opportunity.Account); viewModel.RegardingOpportunity.Type = Mapper.Map <ViewModels.Activities.ActivityRegardingTypeViewModel>(regtype); } PopulateCoreDetails(viewModel, conn); } return(View(viewModel)); }
public static Common.Models.Activities.ActivityTask Edit( Common.Models.Activities.ActivityTask model, Common.Models.Account.Users modifier, IDbConnection conn = null, bool closeConnection = true) { model.ModifiedBy = modifier; model.Modified = DateTime.UtcNow; DBOs.Activities.ActivityTask dbo = Mapper.Map <DBOs.Activities.ActivityTask>(model); conn = DataHelper.OpenIfNeeded(conn); conn.Execute("UPDATE \"activity_task\" SET " + "\"type\"=@Type, \"is_campaign_response\"=@IsCampaignResponse, \"subject\"=@Subject, \"body\"=@Body, \"owner\"=@Owner, \"priority\"=@Priority, \"due\"=@Due, " + "\"state\"=@State, \"status_reason\"=@StatusReason, " + "\"utc_modified\"=@UtcModified, \"modified_by_user_pid\"=@ModifiedByUserPId " + "WHERE \"id\"=@Id", dbo); DataHelper.Close(conn, closeConnection); return(model); }
public void BuildMappings() { Mapper.CreateMap <Common.Models.Activities.ActivityRegardingOpportunity, ActivityRegardingOpportunityViewModel>() .ForMember(dst => dst.IsStub, opt => opt.UseValue(false)) .ForMember(dst => dst.Id, opt => opt.MapFrom(src => src.Id)) .ForMember(dst => dst.Type, opt => opt.ResolveUsing(db => { if (db.Type == null || !db.Type.Id.HasValue) { return(null); } return(new ViewModels.Activities.ActivityRegardingTypeViewModel() { Id = db.Type.Id.Value, IsStub = true }); })) .ForMember(dst => dst.Activity, opt => opt.ResolveUsing(db => { if (db.Activity == null || !db.Activity.Id.HasValue) { return(null); } Common.Models.Activities.ActivityType type = Data.Activities.ActivityType.GetByActivityId(db.Activity.Id.Value); if (type.Title == "Phone Call") { return new ViewModels.Activities.ActivityPhonecallViewModel() { Id = db.Activity.Id, IsStub = true } } ; else if (type.Title == "Email") { return new ViewModels.Activities.ActivityEmailViewModel() { Id = db.Activity.Id, IsStub = true } } ; else if (type.Title == "Letter") { return new ViewModels.Activities.ActivityLetterViewModel() { Id = db.Activity.Id, IsStub = true } } ; else if (type.Title == "Task") { return new ViewModels.Activities.ActivityTaskViewModel() { Id = db.Activity.Id, IsStub = true } } ; else { throw new System.InvalidOperationException("db.Activity.Type of unknown value"); } })) .ForMember(dst => dst.Opportunity, opt => opt.ResolveUsing(db => { if (db.Opportunity == null || !db.Opportunity.Id.HasValue) { return(null); } return(new ViewModels.Opportunities.OpportunityViewModel() { Id = db.Opportunity.Id.Value, IsStub = true }); })); Mapper.CreateMap <ActivityRegardingOpportunityViewModel, Common.Models.Activities.ActivityRegardingOpportunity>() .ForMember(dst => dst.Id, opt => opt.MapFrom(src => src.Id)) .ForMember(dst => dst.Type, opt => opt.ResolveUsing(x => { if (x.Type == null || !x.Type.Id.HasValue) { return(null); } return(new ViewModels.Activities.ActivityRegardingTypeViewModel() { Id = x.Type.Id.Value }); })) .ForMember(dst => dst.Activity, opt => opt.ResolveUsing(db => { if (db.Activity == null || !db.Activity.Id.HasValue) { return(null); } // ActivityTask has all properties of base and no more Common.Models.Activities.ActivityTask activity = Data.Activities.ActivityTask.Get(db.Activity.Id.Value); if (activity.Type.Title == "Phone Call") { return new Common.Models.Activities.ActivityPhonecall() { Id = activity.Id, IsStub = true } } ; else if (activity.Type.Title == "Email") { return new Common.Models.Activities.ActivityEmail() { Id = activity.Id, IsStub = true } } ; else if (activity.Type.Title == "Letter") { return new Common.Models.Activities.ActivityLetter() { Id = activity.Id, IsStub = true } } ; else if (activity.Type.Title == "Task") { return new Common.Models.Activities.ActivityTask() { Id = activity.Id, IsStub = true } } ; else { throw new System.InvalidOperationException("db.Activity.Type of unknown value"); } })) .ForMember(dst => dst.Opportunity, opt => opt.ResolveUsing(x => { if (x.Opportunity == null || !x.Opportunity.Id.HasValue) { return(null); } return(new ViewModels.Opportunities.OpportunityViewModel() { Id = x.Opportunity.Id.Value }); })); }
public ActionResult Edit(long id) { Common.Models.Account.Users currentUser; ViewModels.Activities.ActivityTaskViewModel viewModel = new ViewModels.Activities.ActivityTaskViewModel(); List <ViewModels.Activities.ActivityDirectionViewModel> directionList = new List <ViewModels.Activities.ActivityDirectionViewModel>(); List <ViewModels.Activities.ActivityStatusReasonViewModel> statusReasonList = new List <ViewModels.Activities.ActivityStatusReasonViewModel>(); List <ViewModels.Activities.ActivityPriorityViewModel> priorityList = new List <ViewModels.Activities.ActivityPriorityViewModel>(); using (IDbConnection conn = Data.Database.Instance.GetConnection()) { currentUser = Data.Account.Users.Get(User.Identity.Name, conn, false); Common.Models.Activities.ActivityTask model = Data.Activities.ActivityTask.Get(id, conn, false); model.Owner = Data.Contacts.Contact.Get(model.Owner.Id.Value, conn, false); model.Priority = Data.Activities.ActivityPriority.Get(model.Priority.Id.Value, conn, false); model.StatusReason = Data.Activities.ActivityStatusReason.Get(model.StatusReason.Id.Value, conn, false); model.Type = Data.Activities.ActivityType.Get(model.Type.Id.Value, conn, false); viewModel = Mapper.Map <ViewModels.Activities.ActivityTaskViewModel>(model); viewModel.Owner = Mapper.Map <ViewModels.Contacts.ContactViewModel>(model.Owner); Common.Models.Activities.ActivityRegardingType regtype = Data.Activities.ActivityRegardingType.GetFromActivityId(model.Id.Value, conn, false); if (regtype.Title == "Lead") { Common.Models.Activities.ActivityRegardingLead ar = Data.Activities.ActivityRegardingLead.GetFromActivityId(model.Id.Value, conn, false); ar.Lead = Data.Leads.Lead.Get(ar.Lead.Id.Value, conn, false); ar.Lead.Contact = Data.Contacts.Contact.Get(ar.Lead.Contact.Id.Value, conn, false); viewModel.RegardingLead = Mapper.Map <ViewModels.Activities.ActivityRegardingLeadViewModel>(ar); viewModel.RegardingLead.Lead = Mapper.Map <ViewModels.Leads.LeadViewModel>(ar.Lead); viewModel.RegardingLead.Lead.Contact = Mapper.Map <ViewModels.Contacts.ContactViewModel>(ar.Lead.Contact); viewModel.RegardingLead.Type = Mapper.Map <ViewModels.Activities.ActivityRegardingTypeViewModel>(regtype); } else { Common.Models.Activities.ActivityRegardingOpportunity ao = Data.Activities.ActivityRegardingOpportunity.GetFromActivityId(model.Id.Value, conn, false); ao.Opportunity = Data.Opportunities.Opportunity.Get(ao.Opportunity.Id.Value, conn, false); ao.Opportunity.Account = Data.Contacts.Contact.Get(ao.Opportunity.Account.Id.Value, conn, false); viewModel.RegardingOpportunity = Mapper.Map <ViewModels.Activities.ActivityRegardingOpportunityViewModel>(ao); viewModel.RegardingOpportunity.Opportunity = Mapper.Map <ViewModels.Opportunities.OpportunityViewModel>(ao.Opportunity); viewModel.RegardingOpportunity.Opportunity.Account = Mapper.Map <ViewModels.Contacts.ContactViewModel>(ao.Opportunity.Account); viewModel.RegardingOpportunity.Type = Mapper.Map <ViewModels.Activities.ActivityRegardingTypeViewModel>(regtype); } Data.Activities.ActivityDirection.List(conn, false).ForEach(x => { ViewModels.Activities.ActivityDirectionViewModel vm = Mapper.Map <ViewModels.Activities.ActivityDirectionViewModel>(x); directionList.Add(vm); }); Data.Activities.ActivityStatusReason.List(conn, false).ForEach(x => { ViewModels.Activities.ActivityStatusReasonViewModel vm = Mapper.Map <ViewModels.Activities.ActivityStatusReasonViewModel>(x); statusReasonList.Add(vm); }); Data.Activities.ActivityPriority.List(conn, false).ForEach(x => { ViewModels.Activities.ActivityPriorityViewModel vm = Mapper.Map <ViewModels.Activities.ActivityPriorityViewModel>(x); priorityList.Add(vm); }); } ViewBag.DirectionList = directionList; ViewBag.StatusReasonList = statusReasonList; ViewBag.PriorityList = priorityList; return(View(viewModel)); }