Exemple #1
0
        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);
        }
Exemple #3
0
        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));
        }