public JsonResult InsertDCRChemistVisitData(DCRChemistVisit objChemistVisit) { objBLDCRChemistVisit = new BL_DCRChemistVisit(); return(Json(objBLDCRChemistVisit.InsertDCRChemistVisitData(objChemistVisit))); }
public DCRChemistVisitResut InsertDCRChemistVisitData(DCRChemistVisit objChemistVisit) { DCRChemistVisitResut objChemistVisitResut = new DCRChemistVisitResut(); _objSPData = new SPData(); _objData = new Data(); try { string cmdText = "SP_HD_V4_InsertsChemistVisitData"; SqlCommand command = new SqlCommand(cmdText); command.CommandType = CommandType.StoredProcedure; _objSPData.AddParamToSqlCommand(command, "@CV_Visit_Id", ParameterDirection.Input, SqlDbType.BigInt, 30, objChemistVisit.CV_Visit_Id); _objSPData.AddParamToSqlCommand(command, "@Company_Code", ParameterDirection.Input, SqlDbType.VarChar, 30, objChemistVisit.Company_Code); _objSPData.AddParamToSqlCommand(command, "@DCR_Code", ParameterDirection.Input, SqlDbType.VarChar, 50, objChemistVisit.DCR_Code); _objSPData.AddParamToSqlCommand(command, "@Region_code", ParameterDirection.Input, SqlDbType.VarChar, 30, objChemistVisit.Region_Code); _objSPData.AddParamToSqlCommand(command, "@User_code", ParameterDirection.Input, SqlDbType.VarChar, 30, objChemistVisit.User_code); _objSPData.AddParamToSqlCommand(command, "@DCR_Actual_Date", ParameterDirection.Input, SqlDbType.DateTime, 30, objChemistVisit.DCR_Actual_Date); _objSPData.AddParamToSqlCommand(command, "@Company_Id", ParameterDirection.Input, SqlDbType.Int, 30, objChemistVisit.Company_Id); _objSPData.AddParamToSqlCommand(command, "@UTC_Date", ParameterDirection.Input, SqlDbType.VarChar, 100, objChemistVisit._objDateDetails.UTC_Date); _objSPData.AddParamToSqlCommand(command, "@Created_DateTime", ParameterDirection.Input, SqlDbType.VarChar, 30, objChemistVisit._objDateDetails.Date); _objSPData.AddParamToSqlCommand(command, "@Created_TimeZone", ParameterDirection.Input, SqlDbType.VarChar, 1000, objChemistVisit._objDateDetails.TimeZone); _objSPData.AddParamToSqlCommand(command, "@Created_OffSet", ParameterDirection.Input, SqlDbType.VarChar, 100, objChemistVisit._objDateDetails.Off_Set); _objSPData.AddParamToSqlCommand(command, "@POBMandatory", ParameterDirection.Input, SqlDbType.BigInt, 10, objChemistVisit.POBMandatory); List <DCRChemistVisit> ls = new List <DCRChemistVisit>(); ls.Add(objChemistVisit); //ls[0].Chemist_Name = objChemistVisit.Chemist_Name; //ls[0].Visit_Mode = objChemistVisit.Visit_Mode; //ls[0].Chemist_Code = objChemistVisit.Chemist_Code; //ls[0].Chemists_Region_Code = objChemistVisit.Chemists_Region_Code; //ls[0].Chemists_MDL_Number = objChemistVisit.Chemists_MDL_Number; //ls[0].Visit_Time = objChemistVisit.Visit_Time; //ls[0].CV_Visit_latitude = objChemistVisit.CV_Visit_latitude; //ls[0].CV_Visit_Longitude = objChemistVisit.CV_Visit_Longitude; _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_ChemistVisit", ParameterDirection.Input, SqlDbType.Structured, new DCRChemistVisitEnumurator(ls), "TVP_DCR_CV_ChemistVisit"); //----Contact--- if (objChemistVisit.lstContact == null || objChemistVisit.lstContact.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_Contact", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_DCR_Contact"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_Contact", ParameterDirection.Input, SqlDbType.Structured, new DCRContactEnumurator(objChemistVisit.lstContact), "TVP_DCR_Contact"); } //---Accompanist--- if (objChemistVisit.lsAccompanist == null || objChemistVisit.lsAccompanist.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_DOCTOR_ACC", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_DCR_CV_DOCTOR_ACC"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_DOCTOR_ACC", ParameterDirection.Input, SqlDbType.Structured, new DCRDoctorAccompanistEnumurator(objChemistVisit.lsAccompanist), "TVP_DCR_CV_DOCTOR_ACC"); } //-----Sample----------- if (objChemistVisit.lsSample_Promotion == null || objChemistVisit.lsSample_Promotion.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_SAMPLE_PROMOTION", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_DCR_CV_SAMPLE_PROMOTION"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_SAMPLE_PROMOTION", ParameterDirection.Input, SqlDbType.Structured, new DCRSample_PromotionEnumurator(objChemistVisit.lsSample_Promotion), "TVP_DCR_CV_SAMPLE_PROMOTION"); } if (objChemistVisit.lsSample_Promotion_Batch == null || objChemistVisit.lsSample_Promotion_Batch.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_Product_Batch_Details", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_DCR_CV_Product_Batch_Details"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_Product_Batch_Details", ParameterDirection.Input, SqlDbType.Structured, new DCRProductDetailBatchsModelEnumurator(objChemistVisit.lsSample_Promotion_Batch), "TVP_DCR_CV_Product_Batch_Details"); } //-------RCPA----Own-------- if (objChemistVisit.lsRCPA_Own_Products == null || objChemistVisit.lsRCPA_Own_Products.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_CV_RCPA_Own_Products", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_CV_RCPA_Own_Products"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_CV_RCPA_Own_Products", ParameterDirection.Input, SqlDbType.Structured, new DCRRCPAOwnProductEnumurator(objChemistVisit.lsRCPA_Own_Products), "TVP_CV_RCPA_Own_Products"); } //-------RCPA----COMP_RCPADetail-------- if (objChemistVisit.lsRCPA_Competitor_Products == null || objChemistVisit.lsRCPA_Competitor_Products.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_COMP_RCPADetails", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_DCR_CV_COMP_RCPADetails"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_COMP_RCPADetails", ParameterDirection.Input, SqlDbType.Structured, new DCRRCPCOMPProductEnumurator(objChemistVisit.lsRCPA_Competitor_Products), "TVP_DCR_CV_COMP_RCPADetails"); } ////POB Header if (objChemistVisit.lsPOBOrderHeader == null || objChemistVisit.lsPOBOrderHeader.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_POB_Header", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_POB_Header"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_POB_Header", ParameterDirection.Input, SqlDbType.Structured, new DCROrderHeaderEnumurator(objChemistVisit.lsPOBOrderHeader), "TVP_POB_Header"); } ////POB Details if (objChemistVisit.lsPOBOrderDetails == null || objChemistVisit.lsPOBOrderDetails.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_POB_Details", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_POB_Details"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_POB_Details", ParameterDirection.Input, SqlDbType.Structured, new DCROrderDetailsEnumurator(objChemistVisit.lsPOBOrderDetails), "TVP_POB_Details"); } //Attachment if (objChemistVisit.lsAttachment == null || objChemistVisit.lsAttachment.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_ATTACHMENTS", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_DCR_CV_ATTACHMENTS"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_ATTACHMENTS", ParameterDirection.Input, SqlDbType.Structured, new DoctorVisitAttachmentEnumurator(objChemistVisit.lsAttachment), "TVP_DCR_CV_ATTACHMENTS"); } ////Followup if (objChemistVisit.lsFollowUp == null || objChemistVisit.lsFollowUp.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_FOLLOWUP", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_DCR_CV_FOLLOWUP"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_FOLLOWUP", ParameterDirection.Input, SqlDbType.Structured, new DCRFollowUpEnumurator(objChemistVisit.lsFollowUp), "TVP_DCR_CV_FOLLOWUP"); } //Detail Product if (objChemistVisit.lsDetailed_Product == null || objChemistVisit.lsDetailed_Product.Count == 0) { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_DETAILED_PRODUCT", ParameterDirection.Input, SqlDbType.Structured, null, "TVP_DCR_CV_DETAILED_PRODUCT"); } else { _objSPData.AddParamToSqlCommandWithTypeName(command, "@TVP_DCR_CV_DETAILED_PRODUCT", ParameterDirection.Input, SqlDbType.Structured, new DCRDetailedProductsEnumurator(objChemistVisit.lsDetailed_Product), "TVP_DCR_CV_DETAILED_PRODUCT"); } _objData.OpenConnection(objChemistVisit.Company_Code); SqlDataReader reader = _objData.ExecuteReader(command); if (reader.HasRows) { while (reader.Read()) { objChemistVisitResut.CV_Visit_Id = Convert.ToInt32(reader["CV_Visit_Id"]); objChemistVisitResut.CusErrorMsg = reader["CusErrorMsg"].ToString(); objChemistVisitResut.SysErrorMsg = reader["SysErrorMsg"].ToString(); } } } catch (Exception ex) { objChemistVisitResut.CV_Visit_Id = 0; objChemistVisitResut.CusErrorMsg = ""; objChemistVisitResut.SysErrorMsg = ex.Message; } return(objChemistVisitResut); }
public DCRChemistVisitResut InsertDCRChemistVisitData(DCRChemistVisit objChemistVisit) { objdlDCRChemistVisit = new DL_DCRChemistVisit(); _objCurrentInfo = new CurrentInfo(); objChemistVisit.Company_Code = _objCurrentInfo.GetCompanyCode(); objChemistVisit.Company_Id = 10; objChemistVisit.DCR_Code = _objCurrentInfo.GetDCRCode(objChemistVisit.DCR_Actual_Date); objChemistVisit.Region_Code = _objCurrentInfo.GetRegionCode(); objChemistVisit.User_code = _objCurrentInfo.GetUserCode(); objChemistVisit.CV_Visit_latitude = _objCurrentInfo.GetLattitude(); objChemistVisit.CV_Visit_Longitude = _objCurrentInfo.GetLongitude(); if (objChemistVisit.lsAttachment != null) { objChemistVisit.lsAttachment = objChemistVisit.lsAttachment.Where(x => x.Status == "1").ToList(); } if (objChemistVisit.lsPOBOrderHeader != null && objChemistVisit.lsPOBOrderHeader.Count > 0) { objChemistVisit.lsPOBOrderHeader.ForEach(x => x.Created_By = objChemistVisit.User_code); } if (objChemistVisit.lsRCPA_Own_Products != null) { // objChemistVisit.lsRCPA_Own_Products.ForEach(x => x.Qty = 10); //objChemistVisit.lsRCPA_Own_Products.ForEach(x => x.Customer_Name = x.Customer_Name.Substring(0, 30)); objChemistVisit.lsRCPA_Own_Products = objChemistVisit.lsRCPA_Own_Products.Where(x => x.Customer_Name != null && x.Qty != null && x.Product_Code != null && x.Product_Name != null).ToList(); } //if (objChemistVisit.lsRCPA_Competitor_Products != null) // objChemistVisit.lsRCPA_Competitor_Products.ForEach(x => x.Qty = 10); if (objChemistVisit.lsPOBOrderHeader != null && objChemistVisit.lsPOBOrderHeader.Count > 0) { objChemistVisit.lsPOBOrderHeader.ForEach(x => x.Favouring_User_Code = _objCurrentInfo.GetUserCode()); objChemistVisit.lsPOBOrderHeader.ForEach(x => x.Favouring_Region_Code = _objCurrentInfo.GetRegionCode()); } //Sample List <DCR_CV_Sample_Promotion> IDCRProductBatchModel = objChemistVisit.lsSample_Promotion; if (objChemistVisit.lsSample_Promotion != null && objChemistVisit.lsSample_Promotion.ToList().Count != 0) { objChemistVisit.lsSample_Promotion = objChemistVisit.lsSample_Promotion.ToList().GroupBy(x => x.Product_Code).Select(y => y.First()).ToList(); } List <DCR_CV_Sample_Promotion> lsbatch = new List <DCR_CV_Sample_Promotion>(); if (IDCRProductBatchModel != null && IDCRProductBatchModel.ToList().Count > 0) { foreach (var item in objChemistVisit.lsSample_Promotion.ToList()) { DCR_CV_Sample_Promotion obj = new DCR_CV_Sample_Promotion(); var single_pro = IDCRProductBatchModel.Where(x => x.Product_Code == item.Product_Code); if (single_pro.ToList().Count > 0) { //obj.DCR_Product_Code = single_pro.ToList()[0].ch; obj.Batch_Number = single_pro.ToList()[0].Batch_Number; obj.Product_Code = single_pro.ToList()[0].Product_Code; obj.CV_Customer_Name = objChemistVisit.Chemists_Name; var quentity = 0; for (int i = 0; i < single_pro.ToList().Count; i++) { if (single_pro.ToList()[i].Quantity_Provided.ToString() != "") { quentity += Convert.ToInt32(single_pro.ToList()[i].Quantity_Provided); } } obj.Quantity_Provided = quentity; } else { //obj.DCR_Product_Code = item.DCR_Product_Code; obj.Batch_Number = item.Batch_Number; obj.Product_Code = item.Product_Code; obj.Quantity_Provided = item.Quantity_Provided; } lsbatch.Add(obj); } objChemistVisit.lsSample_Promotion = null; objChemistVisit.lsSample_Promotion = lsbatch; } List <DCR_CV_Sample_Promotion> lsbatchProduct = new List <DCR_CV_Sample_Promotion>(); if (IDCRProductBatchModel != null && IDCRProductBatchModel.ToList().Count > 0) { IDCRProductBatchModel = IDCRProductBatchModel.Where(x => x.Batch_Number != "" && x.Batch_Number != null).ToList(); } if (objChemistVisit.lsSample_Promotion != null && IDCRProductBatchModel != null && objChemistVisit.lsSample_Promotion.ToList().Count > 0 && IDCRProductBatchModel.ToList().Count > 0) { foreach (var item in objChemistVisit.lsSample_Promotion.ToList()) { var sigle_pro = IDCRProductBatchModel.ToList().Where(x => x.Product_Code == item.Product_Code); for (int i = 0; i < sigle_pro.ToList().Count; i++) { DCR_CV_Sample_Promotion obj = new DCR_CV_Sample_Promotion(); // obj.DCR_Product_Code = item.DCR_Product_Code; obj.Product_Code = sigle_pro.ToList()[i].Product_Code; obj.Quantity_Provided = sigle_pro.ToList()[i].Quantity_Provided; obj.Batch_Number = sigle_pro.ToList()[i].Batch_Number; lsbatchProduct.Add(obj); } } IDCRProductBatchModel = null; IDCRProductBatchModel = lsbatchProduct; objChemistVisit.lsSample_Promotion_Batch = lsbatchProduct; } return(objdlDCRChemistVisit.InsertDCRChemistVisitData(objChemistVisit)); }