public void CreateWepApi()
        {
            try
            {
                for (int i = 0; i < 20; i++)
                {
                    _cAS_ProductInfoVM = new CAS_ProductInfoVM();

                    _cAS_ProductInfoVM.CAS_ProductId = "Prod_ref1" + i;
                    _cAS_ProductInfoVM.Business_Unit = "Axis" + i;
                    _cAS_ProductInfoVM.Project_Name = "DT_Proj" + i;
                    _cAS_ProductInfoVM.Customer_Name = "Customer" + i;
                    _cAS_ProductInfoVM.Customer_Email = "*****@*****.**" + i;
                    _cAS_ProductInfoVM.Customer_Phone = "1234567890";
                    _cAS_ProductInfoVM.IEC_Contact = "Someone" + i;
                    _cAS_ProductInfoVM.Project_Team = "Project" + i;
                    _cAS_ProductInfoVM.Function = "Proj_Func" + i;
                    _cAS_ProductInfoVM.CreatedAt = DateTime.Now;
                    _cAS_ProductInfoVM.CreatedBy = "RC";
                    _cAS_ProductInfoVM.UpdateAt = DateTime.Now;
                    _cAS_ProductInfoVM.UpdateBy = "RC";
                    _cAS_ProductInfoVM.IsActive = true;
                    _cAS_ProductInfoVM.ISDeleted = false;
                    _cAS_ProductInfoVM.CAS_FeedbackDataVM = GetFeedbackData();

                    var client = new HttpClient();
                    client.BaseAddress = new Uri("http://dcprc-test1.cloudapp.net/lal_api/");

                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    var cftData = _cAS_ProductInfoVM;
                    var content = new System.Net.Http.StringContent(JsonConvert.SerializeObject(cftData), Encoding.UTF8, "application/json");
                    HttpResponseMessage response = client.PostAsync("api/studies", content).Result;
                    if (response.IsSuccessStatusCode)
                    {

                    }
                    else
                    {
                        JObject root = JObject.Parse(response.Content.ReadAsStringAsync().Result);
                    }
                }
            }
            catch (Exception ex)
            {

            }
        }
        public IHttpActionResult PostCAS_ProductInfoVM(CAS_ProductInfoVM cAS_ProductInfoVM)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            try
            {
                _createProductInfo = new ProductInfoBAL();
                _createProductInfo.CreateProductData(cAS_ProductInfoVM);

                return Ok("Product Information Created ref id - " + cAS_ProductInfoVM.Id);
            }
            catch (Exception ex)
            {
                return BadRequest(ex.Message);
            }

            return CreatedAtRoute("DefaultApi", new { id = cAS_ProductInfoVM.Id }, cAS_ProductInfoVM);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public CAS_ProductInfoVM CreateProductData(CAS_ProductInfoVM model)
        {
            try
            {
                using (_db = new CFT_DBEntities())
                {
                    _cAS_ProductInfoVM = new CAS_ProductInfoVM();
                    CAS_ProductInfo productInfo = new CAS_ProductInfo();

                    productInfo.CAS_ProductId = model.CAS_ProductId;
                    productInfo.Business_Unit = model.Business_Unit;
                    productInfo.Project_Name = model.Project_Name;
                    productInfo.Customer_Name = model.Customer_Name;
                    productInfo.Customer_Email = model.Customer_Email;
                    productInfo.Customer_Phone = model.Customer_Phone;
                    productInfo.IEC_Contact = model.IEC_Contact;
                    productInfo.Project_Team = model.Project_Team;
                    productInfo.Function = model.Function;
                    productInfo.CreatedAt = model.CreatedAt;
                    productInfo.CreatedBy = model.CreatedBy;
                    productInfo.UpdateAt = model.UpdateAt;
                    productInfo.UpdateBy = model.UpdateBy;
                    productInfo.IsActive = model.IsActive;
                    productInfo.ISDeleted = model.ISDeleted;

                    productInfo.CAS_FeedbackData = GetCAS_FeedbackData(model);

                    _db.CAS_ProductInfo.Add(productInfo);
                    _db.SaveChanges();

                    _cAS_ProductInfoVM.Id = productInfo.Id;
                    return _cAS_ProductInfoVM;
                }
            }
            catch (Exception ex)
            {
                return _cAS_ProductInfoVM;
            }
        }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public CAS_ProductInfoVM UpdateProductData(CAS_ProductInfoVM model)
 {
     throw new NotImplementedException();
 }
        public CAS_ProductInfoVM GetProductDataById(string id)
        {
            _cAS_ProductInfoVM = new CAS_ProductInfoVM();
            try
            {
                using (_db = new CFT_DBEntities())
                {
                    var getData = (from prod in _db.CAS_ProductInfo.Include("CAS_FeedbackData")
                                          where prod.CAS_ProductId == id
                                          select prod).FirstOrDefault();

                    _cAS_ProductInfoVM.Business_Unit = getData.Business_Unit;
                    _cAS_ProductInfoVM.CAS_FeedbackData = getData.CAS_FeedbackData;
                    _cAS_ProductInfoVM.CAS_ProductId = getData.CAS_ProductId;
                    _cAS_ProductInfoVM.CreatedAt = getData.CreatedAt;
                    _cAS_ProductInfoVM.CreatedBy = getData.CreatedBy;
                    _cAS_ProductInfoVM.Customer_Email = getData.Customer_Email;
                    _cAS_ProductInfoVM.Customer_Name = getData.Customer_Name;
                    _cAS_ProductInfoVM.Customer_Phone = getData.Customer_Phone;
                    _cAS_ProductInfoVM.Function = getData.Function;
                    _cAS_ProductInfoVM.Id = getData.Id;
                    _cAS_ProductInfoVM.IEC_Contact = getData.IEC_Contact;
                    _cAS_ProductInfoVM.IsActive = getData.IsActive;
                    _cAS_ProductInfoVM.ISDeleted = getData.ISDeleted;
                    _cAS_ProductInfoVM.Project_Name = getData.Project_Name;
                    _cAS_ProductInfoVM.Project_Team = getData.Project_Team;
                    _cAS_ProductInfoVM.UpdateAt = getData.UpdateAt;
                    _cAS_ProductInfoVM.UpdateBy = getData.UpdateBy;
                    _cAS_ProductInfoVM.CAS_FeedbackDataVM = ConvertToFeedBackDataVM(getData);

                }
            }
            catch (Exception ex)
            {
                return _cAS_ProductInfoVM;
            }
            return _cAS_ProductInfoVM;
        }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public Collection<CAS_FeedbackData> GetCAS_FeedbackData(CAS_ProductInfoVM model)
 {
     Collection<CAS_FeedbackData> feedBackList = new Collection<CAS_FeedbackData>();
     try
     {
         foreach (var data in model.CAS_FeedbackDataVM)
         {
             feedBackList.Add(new CAS_FeedbackData()
             {
                 Quality = data.Quality,
                 Adherence_To_Schedule = data.Adherence_To_Schedule,
                 Alternate_Solutions_Value_addition = data.Alternate_Solutions_Value_addition,
                 Effectiveness_of_Communication = data.Effectiveness_of_Communication,
                 Independent_project_execution_Customers_Efforts = data.Independent_project_execution_Customers_Efforts,
                 Overall_Satisfaction = data.Overall_Satisfaction,
                 Additional_Comments_Issues_Concerns_Suggestions = data.Additional_Comments_Issues_Concerns_Suggestions,
                 Status = data.Status,
                 CreatedAt = data.CreatedAt,
                 CreatedBy = data.CreatedBy,
                 UpdatedAt = data.UpdatedAt,
                 UpdatedBy = data.UpdatedBy,
                 IsActive = true,
                 IsDeleted = false
             });
         }
         return feedBackList;
     }
     catch (Exception ex)
     {
         return feedBackList;
     }
 }
        public ActionResult GetSelectedProductInfo(string id)
        {
            _productInfoBAL = new ProductInfoBAL();
            _cAS_ProductInfoVM = new CAS_ProductInfoVM();

            _cAS_ProductInfoVM = _productInfoBAL.GetProductDataById(id);

            return PartialView("_SelectedProductInfo", _cAS_ProductInfoVM);
        }
        public ActionResult SendFeedBackMail(string id)
        {
            _productInfoBAL = new ProductInfoBAL();
            _cAS_ProductInfoVM = new CAS_ProductInfoVM();

            _cAS_ProductInfoVM = _productInfoBAL.GetProductDataById(id);

            CommonClass common = new CommonClass();
            common.SendMail(_cAS_ProductInfoVM.Customer_Name, _cAS_ProductInfoVM.Project_Name);

            _productInfoBAL = new ProductInfoBAL();
            _productInfoBAL.UpdateProductInfoAfterMailSent(id);

            SearchVM obj = new SearchVM();

            return RedirectToAction("Index", obj);
        }