private void SetAeAndOP() { var employee = new FsEmployee(_sales); if (employee.Role == (int)EmployeeEN.NEmployeeRole.OP) { _sa1ID = _sales; _sales = employee.GetMyAeID(2); } }
public int GetValidation() { int val = 12; var employee = new FsEmployee(_sales); if (employee.Role == Convert.ToInt32((object)EmployeeEN.NEmployeeRole.AE) | employee.Role == Convert.ToInt32((object)EmployeeEN.NEmployeeRole.OP)) { val = GetExtraValidation(); } return(val); }
private void UpdateWorkOrder(int workOrderID, string woNumber, string woType, string paymentMethod, double?version, string rush, string rushReason, string remarks, DateTime?issueDate, DateTime?dueDate, string cloneType, enterprise.Work_Order__c preWONumber, string siteCheckPurpose, string siteCheckPurposeAsOther, string sfWorkOrderID, double?amount, double?reviseWOCount, enterprise.User accountExecutive) { try { var workOrder = _db.Sales_JobMasterList_WO.Where(x => x.woID == workOrderID).FirstOrDefault(); if (workOrder != null) { switch (woType) { case "Production": workOrder.woType = 10; break; case "Service": workOrder.woType = 20; break; case "Site Check": workOrder.woType = 30; break; default: break; } switch (paymentMethod) { case "C.O.D (Invoice Attached)": workOrder.PayMethods = 10; break; case "Invoice Mail Out By Office": workOrder.PayMethods = 20; break; case "Installers Give Invoice To Client": workOrder.PayMethods = 30; break; case "No Charge-Other": workOrder.PayMethods = 40; break; case "No Charge-Mistakes": workOrder.PayMethods = 41; break; case "No Charge-Under Warranty": workOrder.PayMethods = 42; break; case "No Charge-Company Give Out As Gift": workOrder.PayMethods = 43; break; case "No Charge-Sample": workOrder.PayMethods = 44; break; case "No Charge-For Company Internal Use": workOrder.PayMethods = 45; break; case "Decide By Installer": workOrder.PayMethods = 46; break; case "PJ": workOrder.PayMethods = 50; break; default: break; } if (version != null) { workOrder.woRev = Convert.ToByte(version); } switch (rush) { case "Yes": workOrder.rush = true; workOrder.rushReason = rushReason; break; case "No": workOrder.rush = false; break; default: break; } workOrder.Remarks = remarks; if (issueDate != null) { workOrder.issuedDate = (DateTime)issueDate; } if (dueDate != null) { workOrder.DeadLine = (DateTime)dueDate; } if (amount != null) { workOrder.WorkorderAmount = Convert.ToDouble(amount); } if (accountExecutive != null) { FsEmployee poEmployee = new FsEmployee(accountExecutive.CommunityNickname); if (poEmployee.EmployeeNumber > 0) { workOrder.Sales = poEmployee.EmployeeNumber; } } switch (cloneType) { case "Redo": workOrder.rush = true; workOrder.reDo = true; if (reviseWOCount != null) { if (reviseWOCount > 0) { workOrder.revise = true; workOrder.reviseVer = Convert.ToInt16(reviseWOCount); } else { workOrder.revise = false; workOrder.reviseVer = null; } } else { workOrder.revise = false; workOrder.reviseVer = null; } workOrder.RedoOfWoNumbers = preWONumber != null ? preWONumber.Work_Order_Number__c : ""; //workOrder.WorkorderNumber = woNumber; if (version != null) { workOrder.redoVer = Convert.ToInt16(version); } break; case "Revise": workOrder.rush = true; workOrder.revise = true; workOrder.reDo = false; workOrder.redoVer = null; workOrder.RedoOfWoNumbers = preWONumber != null ? preWONumber.Work_Order_Number__c : ""; //workOrder.WorkorderNumber = preWONumber != null ? preWONumber.Name : ""; if (version != null) { workOrder.reviseVer = Convert.ToInt16(version); } break; case "New": workOrder.revise = false; workOrder.reviseVer = null; workOrder.reDo = false; workOrder.redoVer = null; workOrder.RedoOfWoNumbers = ""; //workOrder.WorkorderNumber = woNumber; break; default: break; } workOrder.WorkorderNumber = woNumber; _db.Entry(workOrder).State = EntityState.Modified; _db.SaveChanges(); } if (woType == "Site Check") { int siteCheckID = CommonMethods.GetMISID(TableName.WO_Sitecheck_Purpose, sfWorkOrderID, salesForceProjectID); if (siteCheckID == 0) { InsertNewSiteCheckPurpose(workOrderID, siteCheckPurpose, siteCheckPurposeAsOther); int newId = SqlCommon.GetNewlyInsertedRecordID(TableName.WO_Sitecheck_Purpose); if (newId > 0) { CommonMethods.InsertToMISSalesForceMapping(TableName.WO_Sitecheck_Purpose, sfWorkOrderID, newId.ToString(), salesForceProjectID); } } else { UpdateSiteCheckPurpose(siteCheckID, siteCheckPurpose, siteCheckPurposeAsOther); } } } catch (Exception e) { LogMethods.Log.Error("UpdateWorkOrder:Error:" + e.Message); } }
public void GetAllProjects() { try { LogMethods.Log.Info("GetAllProjects:Info:" + "Start processing all projects"); //create service client to call API endpoint using (enterprise.SoapClient queryClient = new enterprise.SoapClient("Soap", apiAddr)) { //create SQL query statement string query = "SELECT Id, Project_Number__c, Name, CloseDate, Type, OwnerId, Owner.CommunityNickname, Bidding_Type__c, Bidding_Source__c, Product_Line__c, Middle_Updated_Flag__c, " + " Bidding_Due_Date__c, Bidding_Remark__c, Sync__c, Account_Executive__r.CommunityNickname, Project_Coordinator__r.CommunityNickname, " + " (SELECT Id, Name, Billing_Company_City__c, Billing_Contact_Name__r.Account.Id, Billing_Company_Name__r.Name, Billing_Company_Name__r.Id, Billing_Company_Postal_Code__c, Billing_Company_Province__c, Billing_Company_Street__c, Billing_Contact_Name__r.FirstName, Billing_Contact_Name__r.LastName, Billing_Contact_Name__r.Id, Billing_Contact_Phone__c, Billing_Company_Country__c, Quoting_Company_City__c, Quoting_Company_Name__r.Name, Quoting_Company_Name__r.Id, Quoting_Contact_Name__r.Account.Id, Quoting_Company_Postal_Code__c, Quoting_Company_Province__c, Quoting_Company_Street__c, Quoting_Contact_Name__r.FirstName, Quoting_Contact_Name__r.LastName, Quoting_Contact_Name__r.Id, Quoting_Contact_Phone__c, Quoting_Company_Country__c,Installing_Company_City__c, Installing_Company_Name__r.Name, Installing_Company_Name__r.Id, Installing_Contact_Name__r.Account.Id, Installing_Company_Postal_Code__c, Installing_Company_Province__c, Installing_Company_Street__c, Installing_Contact_Name__r.FirstName, Installing_Contact_Name__r.LastName, Installing_Contact_Name__r.Id, Installing_Contact_Phone__c, Installing_Company_Country__c, Billing_Account_Intersection__c, Billing_Account_Corner__c, Installing_Account_Intersection__c,Installing_Account_Corner__c,Quoting_Account_Intersection__c,Quoting_Account_Corner__c,Billing_Company_Name__r.Legal_Name__c FROM Bill_Quote_Ships__r), " + " (SELECT Id, Number_of_Signs__c, Project_Value_Estimated__c, Remarks__c, Issue_Date__c, Due_Date__c, LandLord__r.Name, LandLord_Contact__r.Name, LandLord_Phone_Number__c, LandLord__r.BillingStreet, LandLord__r.BillingCity, LandLord__r.BillingState, LandLord__r.BillingPostalCode FROM Sign_Permits__r)," + " (SELECT Id, Occupation_Start_Time__c, Occupation_End_Time__c, Issue_Date__c, Type_Of_Truck__c, Truck_Weight__c, Foreman_Name__r.Name, Foreman_Phone__c, Remarks__c FROM Hoisting_Permits__r)," + " (SELECT Id, Stick_Position_Radius__c, Dept_Of_Holes__c, Issue_Date__c, Due_Date__c, Remarks__c FROM StakeOut_Permits__r)," + " (SELECT Id, Name, First_Site_Contact__c, Second_Site_Contact__c, Budget__c, Provided_By__c, Remarks__c, Due_Date__c, Rush__c, Requirement__c, Requirement_As_Other__c, Estimated_Shipping_Cost__c, Shipping_Items_Total_Value__c, Work_Order_Number__c FROM SubContracts__r) " + " FROM Opportunity " + " WHERE Sync__c = true and Middle_Updated_Flag__c = 1 "; //+ " WHERE name= '2131 Yonge Street - Exterior and Interior Signage Program'"; enterprise.QueryResult result; queryClient.query( header, //sessionheader null, //queryoptions null, //mruheader null, //packageversion query, out result); /* if no any record, return */ if (result.size == 0) { return; } //cast query results IEnumerable <enterprise.Opportunity> opportunityList = result.records.Cast <enterprise.Opportunity>(); /* * enterprise.Opportunity[] opp = new enterprise.Opportunity[result.size]; * int i = 0; * foreach (var opportunity in opportunityList) * { * enterprise.Opportunity temp = new enterprise.Opportunity(); * temp.Id = opportunity.Id; * temp.Middle_Updated_Flag__c = 0; * temp.Middle_Updated_Flag__cSpecified = true; * opp[i] = temp; * i++; * } * enterprise.LimitInfo[] l1; * enterprise.SaveResult[] s1; * queryClient.update(header, null, null, null, null, null, null, null, null, null, null, null, null, opp, out l1, out s1); * */ int size = result.size; int j = 1; int k = 0; while (j <= size) { int limitArray = (size > 150) ? 150 : size; size -= limitArray; enterprise.Opportunity[] opp = new enterprise.Opportunity[limitArray]; int i = 0; for (int m = k; m < k + limitArray; m++) { enterprise.Opportunity temp = new enterprise.Opportunity(); temp.Id = opportunityList.ElementAt(m).Id; temp.Middle_Updated_Flag__c = 0; temp.Middle_Updated_Flag__cSpecified = true; opp[i] = temp; i++; } k += limitArray; enterprise.LimitInfo[] l1; enterprise.SaveResult[] s1; queryClient.update(header, null, null, null, null, null, null, null, null, null, null, null, null, opp, out l1, out s1); } //show results foreach (var opportunity in opportunityList) { /* get project owner */ //string un = CommonMethods.GetUserName(opportunity.OwnerId); string un = (opportunity.Owner.CommunityNickname == null ? "" : opportunity.Owner.CommunityNickname); FsEmployee fsEmployee = new FsEmployee(un); if (fsEmployee.EmployeeNumber > 0) { LogMethods.Log.Info("GetAllProjects:Info:" + "Processing project name:" + opportunity.Name); int sales_JobMasterListID = CommonMethods.GetMISID(TableName.Sales_JobMasterList, opportunity.Id, opportunity.Id); if (sales_JobMasterListID == 0) { int jobID = CreateNewProject(fsEmployee.EmployeeNumber); /* insert data to MISSalesForceMapping */ if (jobID > 0) { UpdateProject(jobID, opportunity.CloseDate, fsEmployee.EmployeeNumber, opportunity.Name, opportunity.Type, opportunity.Account_Executive__r, opportunity.Product_Line__c, opportunity.Project_Coordinator__r); /* update jobnumber */ UpdateJobNumber(jobID, opportunity.Project_Number__c); CommonMethods.InsertToMISSalesForceMapping(TableName.Sales_JobMasterList, opportunity.Id, jobID.ToString(), opportunity.Id); } else { LogMethods.Log.Error("GetAllProjects:Error:" + "Cannot create a new project!"); continue; } sales_JobMasterListID = jobID; } else { UpdateProject(sales_JobMasterListID, opportunity.CloseDate, fsEmployee.EmployeeNumber, opportunity.Name, opportunity.Type, opportunity.Account_Executive__r, opportunity.Product_Line__c, opportunity.Project_Coordinator__r); } /* for bidding project */ if (opportunity.Type == SalesType.Bid) { /* check if the bidding record exists */ int biddingID = GetBiddingID(sales_JobMasterListID); if (biddingID > 0) { //exist UpdateBiddingProject(biddingID, sales_JobMasterListID, opportunity.Bidding_Type__c, opportunity.Bidding_Source__c, opportunity.Bidding_Due_Date__c, opportunity.Bidding_Remark__c); } else { InsertBiddingProject(fsEmployee.EmployeeNumber); UpdateBiddingProject(SqlCommon.GetNewlyInsertedRecordID("Sales_JobMaster_BiddingJob"), Convert.ToInt32(sales_JobMasterListID), opportunity.Bidding_Type__c, opportunity.Bidding_Source__c, opportunity.Bidding_Due_Date__c, opportunity.Bidding_Remark__c); } } /* Bill-Quote-Ship */ LogMethods.Log.Debug("GetAllProjects:Debug:" + "Processing account and contact"); CustomerMethods cm = new CustomerMethods(opportunity.Id); cm.GetAllAccounts(opportunity.Id, sales_JobMasterListID, fsEmployee.EmployeeNumber, opportunity.Bill_Quote_Ships__r); /* Estimation */ LogMethods.Log.Debug("GetAllProjects:Debug:" + "Processing estimation"); EstimationMethods em = new EstimationMethods(opportunity.Id); int estRevID = CommonMethods.GetEstRevID(sales_JobMasterListID); em.GetEstimation(opportunity.Id, estRevID, sales_JobMasterListID, fsEmployee.EmployeeNumber); /*Drawing */ LogMethods.Log.Debug("GetAllProjects:Debug:" + "Processing drawing"); DrawingMethods dm = new DrawingMethods(opportunity.Id); dm.GetAllDrawings(opportunity.Id, estRevID, sales_JobMasterListID, fsEmployee.EmployeeNumber); /* Quote */ LogMethods.Log.Debug("GetAllProjects:Debug:" + "Processing quote"); QuoteMethods qm = new QuoteMethods(opportunity.Id); qm.GetAllQuotes(opportunity.Id, sales_JobMasterListID, estRevID, fsEmployee.EmployeeNumber); /* Sign/Hoisting/Stakeout permit */ PermitMethods pm = new PermitMethods(opportunity.Id); LogMethods.Log.Debug("GetAllProjects:Debug:" + "Processing sign permit"); pm.GetAllSignPermits(opportunity.Id, sales_JobMasterListID, fsEmployee.EmployeeNumber, opportunity.Sign_Permits__r); LogMethods.Log.Debug("GetAllProjects:Debug:" + "Processing hoisting permit"); pm.GetAllHoistingPermits(opportunity.Id, sales_JobMasterListID, fsEmployee.EmployeeNumber, opportunity.Hoisting_Permits__r); LogMethods.Log.Debug("GetAllProjects:Debug:" + "Processing stakeout permit"); pm.GetAllStakeOutPermits(opportunity.Id, sales_JobMasterListID, fsEmployee.EmployeeNumber, opportunity.StakeOut_Permits__r); /* WorkOrder */ LogMethods.Log.Debug("GetAllProjects:Debug:" + "Processing work order"); WorkOrderMethods wo = new WorkOrderMethods(opportunity.Id); wo.GetAllWorkOrders(opportunity.Id, sales_JobMasterListID, estRevID, fsEmployee.EmployeeNumber); /* Sub-Contract */ LogMethods.Log.Debug("GetAllProjects:Debug:" + "Processing SubContract"); SubContractMethods sc = new SubContractMethods(opportunity.Id); sc.GetAllSubContracts(opportunity.Id, sales_JobMasterListID, fsEmployee.EmployeeNumber, opportunity.SubContracts__r); /* Invoice */ LogMethods.Log.Debug("GetAllProjects:Debug:" + "Processing invoice"); InvoiceMethods im = new InvoiceMethods(opportunity.Id); im.GetAllInvoices(opportunity.Id, sales_JobMasterListID, estRevID, fsEmployee.EmployeeNumber); LogMethods.Log.Info("GetAllProjects:Info:" + "Done: " + opportunity.Name + "<Project Num:" + opportunity.Project_Number__c + ">"); } else { LogMethods.Log.Error("GetAllProjects:Error:" + "User Name: " + un + " does not exist in database"); } } LogMethods.Log.Info("GetAllProjects:Info:" + "All projects are done"); } } catch (Exception e) { LogMethods.Log.Error("GetAllProjects:Error:" + e.Message); } }
/// <summary> /// Edit a project /// </summary> private void UpdateProject(int jobID, DateTime?targetDate, int sales, string jobTitle, string salesType, enterprise.User AE, string productLine, enterprise.User projectCoordinatorName) { using (var Connection = new SqlConnection(MISServiceConfiguration.ConnectionString)) { string UpdateString = "UPDATE Sales_JobMasterList SET targetDate = @targetDate, sales = @sales, jobTitle = @jobTitle, salesType = @salesType, isBidToProject = @isBidToProject, AETM = @AETM, ProductLine = @ProductLine, sa1ID = @sa1ID WHERE (jobID = @jobID)"; var UpdateCommand = new SqlCommand(UpdateString, Connection); if (targetDate != null) { UpdateCommand.Parameters.Add("@targetDate", SqlDbType.DateTime).Value = targetDate; } else { UpdateCommand.Parameters.Add("@targetDate", SqlDbType.DateTime).Value = DBNull.Value; } switch (salesType) { case SalesType.Repeat: UpdateCommand.Parameters.AddWithValue("@salesType", 0); UpdateCommand.Parameters.AddWithValue("@isBidToProject", 0); break; case SalesType.Bid: UpdateCommand.Parameters.AddWithValue("@salesType", 2); UpdateCommand.Parameters.AddWithValue("@isBidToProject", 1); break; default: UpdateCommand.Parameters.AddWithValue("@salesType", 1); UpdateCommand.Parameters.AddWithValue("@isBidToProject", 0); break; } UpdateCommand.Parameters.Add("@jobTitle", SqlDbType.VarChar, 150).Value = jobTitle; UpdateCommand.Parameters.Add("@jobID", SqlDbType.Int).Value = jobID; if (AE != null) { //string un = CommonMethods.GetUserName(AE.Id); string un = AE.CommunityNickname == null ? "" : AE.CommunityNickname; FsEmployee fsEmployee = new FsEmployee(un); if (fsEmployee.EmployeeNumber > 0) { UpdateCommand.Parameters.AddWithValue("@AETM", fsEmployee.EmployeeNumber); UpdateCommand.Parameters.Add("@sales", SqlDbType.Int).Value = fsEmployee.EmployeeNumber; } else { LogMethods.Log.Error("UpdateProject:Error:" + "User Name: " + un + " does not exist in database"); UpdateCommand.Parameters.AddWithValue("@AETM", 0); UpdateCommand.Parameters.Add("@sales", SqlDbType.Int).Value = sales; } } else { UpdateCommand.Parameters.AddWithValue("@AETM", 0); UpdateCommand.Parameters.Add("@sales", SqlDbType.Int).Value = sales; } if (productLine != null) { switch (productLine) { case "Signage": UpdateCommand.Parameters.AddWithValue("@ProductLine", 1); break; default: UpdateCommand.Parameters.AddWithValue("@ProductLine", 10); break; } } else { UpdateCommand.Parameters.AddWithValue("@ProductLine", 1); } string op = (projectCoordinatorName == null ? "" : projectCoordinatorName.CommunityNickname); FsEmployee poEmployee = new FsEmployee(op); if (projectCoordinatorName != null && poEmployee.EmployeeNumber > 0) { UpdateCommand.Parameters.AddWithValue("@sa1ID", poEmployee.EmployeeNumber); } else { UpdateCommand.Parameters.AddWithValue("@sa1ID", 110); } try { Connection.Open(); UpdateCommand.ExecuteNonQuery(); LogMethods.Log.Debug("UpdateProject:Debug:" + "Done"); } catch (SqlException ex) { LogMethods.Log.Error("UpdateProject:Error:" + ex.Message); } finally { Connection.Close(); } } }
public void ImportAddressFromCustomer(string importCustomerType) { //Subcontract-->Project-->IsInstallTo->Contact and Customer var workorder = new MyWorkorder(Value.WoID); var msc = new MySalesJobMasterListCustomer(workorder.Value.jobID); if (importCustomerType == "InstallTo") { msc.SetInstallTo(); } if (importCustomerType == "QuoteTo") { msc.SetQuoteTo(); } if (importCustomerType == "BillTo") { msc.SetBillTo(); } var mc = new MyCustomer(msc.CustomerID); _customer = mc.Value; var mcc = new MyCustomerContact(msc.ContactID); _contact = mcc.Value; if (_customer != null) { string addr = _customer.ADDR_1; if (!Convert.IsDBNull(_customer.ADDR_2)) { addr = addr + " " + _customer.ADDR_2; } Value.Address = addr; Value.City = _customer.CITY; Value.Postcode = _customer.ZIPCODE; Value.Province = _customer.STATE; Value.ShipToName = _customer.NAME; string attenName = MyConvert.ConvertToString(_contact.CONTACT_HONORIFIC) + " "; attenName += MyConvert.ConvertToString(_contact.CONTACT_FIRST_NAME) + " "; attenName += MyConvert.ConvertToString(_contact.CONTACT_LAST_NAME); Value.AttnName = attenName.Trim(); Value.AttnPhone = MyConvert.ConvertToString(_contact.CONTACT_PHONE); //For Delivery Note Value.DeliveryDate = DateTime.Today; Value.WorkorderNumber = workorder.Value.WorkorderNumber; var emp = new FsEmployee(Convert.ToInt32(workorder.Value.Sales)); Value.AeName = emp.NickName; Value.AePhone = emp.GetCompanyPhoneExtension(); Value.InvoiceNumber = workorder.GetInvoices(); Value.NoteTypeID = 0; _db.Entry(Value).State = EntityState.Modified; _db.SaveChanges(); Result = "ok"; } else { Result = "Could not find the specified Customer."; } }
private void UpdateInvoice(int invoiceID, string invoiceNumber, DateTime?issueDate, int sale, string term, string contractNo, string shipMethod, DateTime?contractDate, string taxOption, double?tax, double?deposit, double?discount, string invoiceType, string workOrderList, string currency, enterprise.User accountExecutive, enterprise.User projectCoordinator, enterprise.Quotation__c po, string suffix, double?version, String status, double?subTotal) { try { var invoice = _db.Sales_JobMasterList_Invoice.Where(x => x.invoiceID == invoiceID).FirstOrDefault(); if (invoice != null) { invoice.invoiceNo = invoiceNumber; if (issueDate != null) { invoice.invoiceDate = issueDate; } invoice.Sales = sale; if (currency != null) { invoice.Currency = currency; } if (suffix != null) { invoice.NameSurfix = suffix; } if (version != null) { invoice.Revision = Convert.ToByte(version); } if (status != null) { if (status.Equals("Pending", StringComparison.OrdinalIgnoreCase)) { invoice.iStatus = 2002; } else if (status.Equals("Rejected", StringComparison.OrdinalIgnoreCase)) { invoice.iStatus = 2004; } else if (status.Equals("Approved", StringComparison.OrdinalIgnoreCase)) { invoice.iStatus = 2003; } else { invoice.iStatus = 2001; } } else { invoice.iStatus = 2001; } if (!string.IsNullOrEmpty(term)) { switch (term) { case "Cash On Delivery": invoice.Term = 0; break; case "Customer Net 7 Days": invoice.Term = 7; break; case "Customer Net 10 Days": invoice.Term = 10; break; case "Customer Net 15 Days": invoice.Term = 15; break; case "Customer Net 20 Days": invoice.Term = 20; break; case "Customer Net 30 Days": invoice.Term = 30; break; case "Customer Net 45 Days": invoice.Term = 45; break; case "Customer Net 60 Days": invoice.Term = 60; break; case "Customer Net 180 Days": invoice.Term = 180; break; case "Due Upon Receipt": invoice.Term = 100; break; case "75 3WD": invoice.Term = 200; break; default: invoice.Term = 1000; break; } } invoice.ContractNo = contractNo; if (!string.IsNullOrEmpty(shipMethod)) { invoice.ShipVia = shipMethod; } if (contractDate != null) { invoice.contractDate = contractDate; } switch (taxOption) { case "HST": invoice.TaxOption = (short)NTaxOption.HST; break; case "HST-BC": invoice.TaxOption = (int)NTaxOption.HstBC; break; case "GST Only": invoice.TaxOption = (int)NTaxOption.GstOnly; break; case "GST & PST": invoice.TaxOption = (int)NTaxOption.GstAndPst; break; case "Manually": invoice.TaxOption = (int)NTaxOption.Manually; if (tax != null) { invoice.pstAmount = Convert.ToDecimal(tax); } break; case "No Tax": invoice.TaxOption = (int)NTaxOption.NoTax; break; default: break; } if (deposit != null) { invoice.Deposit = Convert.ToDecimal(deposit); } if (discount != null) { invoice.Discount = (-1) * Convert.ToDecimal(discount); } if (invoiceType != null) { switch (invoiceType) { case "Regular": invoice.invoiceType = 1; break; case "Proforma": invoice.invoiceType = 2; break; default: invoice.invoiceType = 3; break; } } if (accountExecutive != null) { FsEmployee poEmployee = new FsEmployee(accountExecutive.CommunityNickname); if (poEmployee.EmployeeNumber > 0) { invoice.Sales = poEmployee.EmployeeNumber; } } if (projectCoordinator != null) { FsEmployee poEmployee = new FsEmployee(projectCoordinator.CommunityNickname); if (poEmployee.EmployeeNumber > 0) { invoice.SA1 = poEmployee.EmployeeNumber; } } if (po != null && po.PO_No__c != null) { invoice.po = po.PO_No__c; } if (subTotal != null) { invoice.InvoiceAmount = Convert.ToDecimal(subTotal); } string workOrders = ""; if (!string.IsNullOrEmpty(workOrderList)) { char[] delimiters = new char[] { '\n', ' ', ',' }; string[] items = workOrderList.Split(delimiters); if (items.Length != 0) { workOrders = string.Join(",", items); } } invoice.Workorders = workOrders; _db.Entry(invoice).State = EntityState.Modified; _db.SaveChanges(); } } catch (Exception e) { LogMethods.Log.Error("UpdateInvoice:Error:" + e.Message); } }
private void UpdateQuote(int quoteRevID, double?subTotal, double?discountAmount, double?version, string taxOption, double?taxRate, string term, string currency, enterprise.User po) { try { var sales_JobMasterList_quoteRev = _db.Sales_JobMasterList_QuoteRev.Where(x => x.quoteRevID == quoteRevID).FirstOrDefault(); if (sales_JobMasterList_quoteRev != null) { if (discountAmount != null) { sales_JobMasterList_quoteRev.DiscountAmount = Convert.ToDecimal(discountAmount); } if (version != null) { sales_JobMasterList_quoteRev.quoteRev = Convert.ToByte(version); } if (currency != null) { sales_JobMasterList_quoteRev.Currency = currency; } //Updated by Victor Ng, Aug-30-2019 if (subTotal != null) { sales_JobMasterList_quoteRev.quoteAmount = Convert.ToDecimal(subTotal); } // switch (taxOption) { case "HST": sales_JobMasterList_quoteRev.TaxOption = (int)NTaxOption.HST; break; case "HST-BC": sales_JobMasterList_quoteRev.TaxOption = (int)NTaxOption.HstBC; break; case "GST Only": sales_JobMasterList_quoteRev.TaxOption = (int)NTaxOption.GstOnly; break; case "GST & PST": sales_JobMasterList_quoteRev.TaxOption = (int)NTaxOption.GstAndPst; break; case "Manually": sales_JobMasterList_quoteRev.TaxOption = (int)NTaxOption.Manually; if (subTotal != null && discountAmount != null) { sales_JobMasterList_quoteRev.pstAmount = Convert.ToDecimal((subTotal - discountAmount) * Convert.ToInt16(taxRate) * 0.01); } break; case "No Tax": sales_JobMasterList_quoteRev.TaxOption = (int)NTaxOption.NoTax; break; default: break; } if (!string.IsNullOrEmpty(term)) { switch (term) { case "Cash On Delivery": sales_JobMasterList_quoteRev.termBalance = 0; break; case "Customer Net 7 Days": sales_JobMasterList_quoteRev.termBalance = 7; break; case "Customer Net 10 Days": sales_JobMasterList_quoteRev.termBalance = 10; break; case "Customer Net 15 Days": sales_JobMasterList_quoteRev.termBalance = 15; break; case "Customer Net 20 Days": sales_JobMasterList_quoteRev.termBalance = 20; break; case "Customer Net 30 Days": sales_JobMasterList_quoteRev.termBalance = 30; break; case "Customer Net 45 Days": sales_JobMasterList_quoteRev.termBalance = 45; break; case "Customer Net 60 Days": sales_JobMasterList_quoteRev.termBalance = 60; break; case "Customer Net 180 Days": sales_JobMasterList_quoteRev.termBalance = 180; break; case "Due Upon Receipt": sales_JobMasterList_quoteRev.termBalance = 100; break; case "75 3WD": sales_JobMasterList_quoteRev.termBalance = 200; break; default: sales_JobMasterList_quoteRev.termBalance = 1000; break; } } if (po != null) { FsEmployee poEmployee = new FsEmployee(po.CommunityNickname); if (poEmployee.EmployeeNumber > 0) { sales_JobMasterList_quoteRev.sa1ID = poEmployee.EmployeeNumber; } } _db.Entry(sales_JobMasterList_quoteRev).State = EntityState.Modified; _db.SaveChanges(); } } catch (Exception e) { LogMethods.Log.Error("UpdateQuote:Error:" + e.Message); } }